package com.leyou.search.dto;

import java.util.Map;

/**
 * @author LT
 * @version 1.0.0
 * @ClassName SearchRequest.java
 * @Description TODO 接收请求 (提供一个接收请求参数的dto对象)
 * @createTime 2020年05月09日 22:33:00
 */
public class SearchRequest {
    private String key;                     // 搜索条件
    private Integer page;                   // 当前页
    private Map<String, Object> filters;    // 注意：这里的名字要与路径参数的名称一致

    private static final Integer DEFAULT_SIZE = 20;// 每页大小，不从页面接收，而是固定大小
    private static final Integer DEFAULT_PAGE = 1; // 默认页

    public Map<String, Object> getFilters() {
        return filters;
    }

    public void setFilters(Map<String, Object> filters) {
        this.filters = filters;
    }

    public String getKey() {
        return key;
    }

    public void setKey(String key) {
        this.key = key;
    }

    public Integer getPage() {
        if (page == null) {
            return DEFAULT_PAGE;
        }
        // 获取页码时做一些校验，不能小于1
        return Math.max(DEFAULT_PAGE, page);
    }

    public void setPage(Integer page) {
        this.page = page;
    }

    public Integer getSize() {
        return DEFAULT_SIZE;
    }
}
